/****************************************************************************

	COPYRIGHT(C) MAXSI SOFTWARE, JONAS 'SORTIE' TERMANSEN 2008, 2009, 2010

    This file is part of Maxsi Engine.

    Maxsi Engine is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Maxsi Engine is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with Maxsi Engine. If not, see <http://www.gnu.org/licenses/>.

	*/ #include "MaxsiEngineContributors.h" /*

	If you modify this file, please enter your name below and provide contact
	information in MaxsiEngineContributors.h. For more information please see
	MaxsiEngineContributors.h.
	
	Contributors to this file:

	- Jonas 'Sortie' Termansen
	- [your name here]

	MaxsiEngine.dll
	A linkable version of Maxsi Engine

	MaxsiEngine.h
	Importheader for the entire Maxsi Engine

****************************************************************************/

#ifndef MaxsiEngine_H
#define MaxsiEngine_H

	#define _WIN32_WINNT	0x0501
	#define _WIN32_IE		0x0300	// Required by commctrl.h/InitCommonControlsEx()

	// Standard Include Headers
	#include <stdio.h>
	#include <limits.h>
	#include <winsock2.h>
	#include <windows.h>

	// Change this if you compile your own binaries, allowed characters are a-z, A-Z, 0-9, -, _
	#define MaxsiEngine_Branch "Sortie" // 

	 // Use this to enable beta features that shouldn't go into release builds.
	#define	ME_BETA

	#ifdef ME_BETA
		#define	MaxsiEngine_Version "BETA"
		#define ME_IOEnabled
		//#define	ME_USE_MULTIBYTE_STRING // We are not done porting from char* to MESTR*, please enable this be default when we are.
	#else
		#define	MaxsiEngine_Version "4.0"
		#define ME_IODisabled
	#endif

	// Maxsi Engine Core	
	#include "MaxsiDefines.h"
	#include "MaxsiEngineDLL.h"

	// C-Runtime extensions for MinGW
	#include "MaxsiCRuntime.h"
	#include "MaxsiMinGWHacks.h"

	// zlib
	#include "zlib.h"

	// Secure Hash Algorithm (SHA-1) from CSHA1 - A C++ class implementation of the SHA-1 hash algorithm
	#include "SHA1.h"

	// Maxsi Engine
	#include "MaxsiString.h"
	#include "MaxsiComplex.h"
	#include "MaxsiCommand.h"
	#include "MaxsiBuffer.h"
	#include "MaxsiList.h"
	#include "MaxsiEngineFile.h"
	#include "MaxsiInstallScript.h"
	#include "MaxsiDataContainer.h"
	#include "MaxsiNetworking.h"
	#include "MaxsiFolder.h"
	#include "MaxsiArguments.h"
	#include "MaxsiSHA.h"
	#include "MaxsiComDlg.h"
	#include "MaxsiRegression.h"

	// Maxsi UI
	#include "MaxsiWin32.h"
	#include "MaxsiWin7TaskBar.h"
	#include "MaxsiUI.h"

	// Maxsi IO
	#include "MaxsiIO.h"
	#include "MaxsiIOFileSystem.h"
	#include "MaxsiServer.h" // Obsolete, remove when MaxsiIO goes live.

	using namespace MaxsiEngine;

#endif